home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1997 / MacHack 1997.toast / Hacks / Hacks ’93 / Windoid / README & Changes < prev   
Text File  |  1993-06-18  |  8KB  |  249 lines

  1. NAME:
  2.     Infinity Windoid 2.3
  3.  
  4.  
  5. FILE:
  6.     README
  7.  
  8.  
  9. WRITTEN BY:
  10.     Troy Gaul
  11.     Infinity Systems
  12.  
  13.     © 1991-93 Infinity Systems
  14.     All rights reserved.
  15.  
  16. -------------------------------------------------------------------------------
  17.  
  18. DESCRIPTION:
  19.     This file contains a description of a standalone code resource, the
  20.     Infinity Windoid, that conforms to a Window DEFinition (WDEF), as defined 
  21.     by Apple Computer in Inside Macintosh.
  22.     
  23.     It provides a 'windoid' appearance. A windoid is a floating window
  24.     that appears above document windows in an application and is commonly
  25.     used for things like tool palettes, information windows, and the like.
  26.     
  27.     The WDEF included in the ResEdit file can be used as-is. This WDEF is 
  28.     compiled for System 6 and later, but it would be easy to modify the
  29.     source to create one for earlier systems if this is important.
  30.  
  31. -------------------------------------------------------------------------------
  32.  
  33. FEATURES:
  34.  
  35.     •    Supports System 7-style coloring of windows.
  36.  
  37.     •    In System 7, the tinge color set by the user in the Color control 
  38.         panel is used.
  39.  
  40.     •    Close box can be enabled from NewWindow by setting goAwayFlag.
  41.  
  42.     •    Zoom box (special case) implemented, utilized by adding zoomDocProc
  43.         to the proc ID used to create the windoid.
  44.  
  45.     •    Title bar can appear along the left of the window if 1 is added to 
  46.         the proc ID (with or without a zoom box).
  47.  
  48.     •    For MacApp users, the left/top behavior of the proc ID can be 
  49.         switched.
  50.  
  51.     •    System 6 coloring scheme is also supported (can be set in Kolor or
  52.         a similar control panel).
  53.  
  54.     •    In System 7, DeviceLoop is used so the windoid will be drawn 
  55.         correctly even when it crosses monitors of differing depths.
  56.  
  57.     •    In System 7, indexed color tables are checked to see if there are
  58.         enough different colors to display the color version (like the 
  59.         system WDEF).
  60.     
  61. -------------------------------------------------------------------------------
  62.  
  63. VERSION HISTORY:
  64.  
  65.     Version 2.3: (June 93 -- MacHack '93 release)
  66.  
  67.      •  Now calculates correctly whether to do the System 7 shading on a 
  68.          display with less than 8 bits that is set to color mode.
  69.         
  70.      •    When drawing the titlebar background, will no longer draw over the
  71.          top of the gadgets, causing them to flash.
  72.  
  73.      •    Zoom code no longer is always specific to MicroFrontier products. Now, 
  74.          zoomed in/out state can be fully controlled by application
  75.         (this can be done by setting the usrState and stdState as is
  76.         described in Inside Macintosh).
  77.         
  78.      •  Added a header file for application use, to simplify incorporation.
  79.  
  80.      •  Synchronizes the color window manager port to the black-and-white
  81.         one. Useful for WDrawGIcon message, safer.
  82.  
  83.      •  Uses different, simpler logic for creating the properly aligned
  84.         pattern for titlebar (from Mac Prog. Secrets)
  85.  
  86.      •    Now gets the aux. window record for colors from the window being
  87.         considered rather than just getting the default one.
  88.  
  89.      •    Changed formatting to conform to my changed style used in other code.
  90.  
  91.      •    Put in dummy routines for handling the grow box.
  92.  
  93.      •    Got rid of some unneeded temporary variables from the CalcWRgn
  94.         selector routine.
  95.  
  96.      •    Changed the zoom-handling code to use the spareFlag as a flag
  97.         telling whether there's a zoom box, as per a suggestion in _Inside 
  98.         Macintosh: Toolbox Essentials_.
  99.  
  100.      •    Fixed a bug where, if a window didn't have a close box, the
  101.         windoid would still send the application a hit in the close box
  102.         if that area of the titlebar was clicked.
  103.  
  104.  
  105.     Version 2.2: (March 93)
  106.  
  107.      •    First publicly distributed version.
  108.  
  109.      •    Extensive comments added to facilitate understanding and
  110.         modification by others.
  111.  
  112.      •    Added support for MacApp-style varcodes.
  113.  
  114.      •    Bug in way inColor was determined (needed to do a bit-shift
  115.         before anding with gdFlags) fixed.
  116.  
  117.      •    Removed StuffHex of strings used for title bar pattern, now
  118.         calculates these values.
  119.  
  120.      •    Fixed bug in logic of how MixColor was calculating the mixture.
  121.  
  122.      •    Support for compilation in THINK C 5.0.
  123.  
  124.      •    Added way to build so the window are always hilighted
  125.  
  126.  
  127.     Version 2.1: (November 92)
  128.  
  129.      •    Reduced code size by making sure no extra code was being linked
  130.         by MPW.
  131.  
  132.      •    Removed use of Gestalt for code size reasons.
  133.  
  134.      •    Ended the use of function pointers since no advantage was being
  135.         gained by their use.
  136.  
  137.      •    Added support for determining if enough different colors were
  138.         available to do System 7-style color like Apple's does.
  139.  
  140.  
  141.     Version 2.0: (January 92)
  142.  
  143.      •    Rewritten in C.
  144.  
  145.      •    Conditional compilation of some features to facilitate a 
  146.         reduced-size version and one that could be distributed.
  147.  
  148.  
  149.     Version 1.2: (June 91)
  150.  
  151.      •    System 6 color support added. This feature was suggested by
  152.         Richard R. Harms.
  153.  
  154.      •    DeviceLoop support added. (Thanks, MacDTS.)
  155.  
  156.  
  157.     Version 1.1: (May 91)
  158.  
  159.      •    Support for System 7-style color titlebars.
  160.  
  161.  
  162.     Version 1.0: (May 91)
  163.  
  164.      •    Original version, written in Pascal and based on original
  165.         assembly language, black-and-white windoid WDEF used in
  166.         MicroFrontier products, which was written by Tom Pinkerton.
  167.  
  168. -------------------------------------------------------------------------------
  169.  
  170. MAKING WINDOWS FLOAT:
  171.     I just wanted to point out that the windoid WDEF provided here will
  172.     simply give you a window with a smaller, palette-style titlebar. It
  173.     does NOT make that window float above all the others in your program.
  174.     This behavior (which is almost always associated with windows using
  175.     this sort of WDEF) must be implemented into the application's window-
  176.     handling code. This is not necessarily a straightforward thing to do,
  177.     as there is no easy, Apple-provided way. It is not difficult, but some
  178.     care must be taken.
  179.  
  180. -------------------------------------------------------------------------------
  181.  
  182. RELEASE/USAGE INFORMATION:
  183.     This WDEF is used in commercial applications by MicroFrontier, Inc.,
  184.     including (but not limited to) Enhance 2.0, Color It! 2.0, and Paint
  185.     It! 1.0.
  186.  
  187.     MicroFrontier and I are hereby making this WDEF available for use in 
  188.     other products, commercial or not, with the understanding that you may
  189.     modify the code in whatever ways are necessary for use in your
  190.     product (such as adding a grow box, changing zoom behavior, etc).
  191.     MicroFrontier and Troy Gaul, however, will take no responsibility
  192.     for problems caused by the use of this code.
  193.  
  194.     If you do have any problems, though, don't be afraid do contact me
  195.     by one of the ways listed below. I'll be glad to help. Also, if
  196.     you make modifications to the WDEF, I would appreciate it if you
  197.     would let me know about them. If there are changes that might benefit
  198.     others, I might implement them for a future release.
  199.     
  200.     I do plan to support this WDEF in the future. If you have problems,
  201.     compatibility or otherwise, or if you see a glaring error in the code,
  202.     let me know, and a revision will be made. I will also keep a list of
  203.     e-mail addresses of those people who tell me they are using the
  204.     WDEF and want to receive updates. When a new version is released,
  205.     it (or at least notification of it) will be sent to all such users.
  206.     
  207. -------------------------------------------------------------------------------
  208.  
  209. ACKNOWLEDGEMENTS:
  210.     I'd like to pay special thanks to Tom Pinkerton, who wrote a windoid
  211.     WDEF from which I created this one and who taught me how to program the
  212.     Macintosh, and to Richard Harms, who kept pushing me to add features 
  213.     (such as the System 6 color support, support for 68000 machines, and 
  214.     the MacApp-style), told me about the bugs he found, and prodded me to 
  215.     release a version to the public. Also, thanks to MicroFrontier for
  216.     letting me release this WDEF for use by others.
  217.  
  218. -------------------------------------------------------------------------------
  219.  
  220. HOW TO CONTACT THE AUTHOR:
  221.     To 'register' your copy of this WDEF if you plan to use it and want
  222.     updates in the future, send me your e-mail address(es). Also, use
  223.     these to contact me with any problems.
  224.  
  225.     Troy Gaul
  226.     Infinity Systems
  227.     4914 EP True Parkway
  228.     Suite 205
  229.     West Des Moines, IA 50265
  230.     
  231.     MicroFrontier, Inc.
  232.     3401 101st Street
  233.     Suite E
  234.     Des Moines, IA 50322
  235.     (515) 270-8109
  236.     
  237.     Internet:        t-gaul@grayhawk.rent.com
  238.                     
  239.     Applelink:        mfrontier
  240.     
  241.     America Online:    ntwing
  242.                     mfrontier
  243.                             
  244.     CompuServe:        72123,567
  245.  
  246.     FAX:            (515) 278-6828
  247.  
  248. *******************************************************************************
  249.